home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / UTIL / STvi 1.0.0.sit / STvi 1.0.0 f / Readme J1.3 < prev    next >
Text File  |  1994-07-21  |  45KB  |  966 lines

  1. STEVIE 3.69 - 日本語版 1.3 について                  1990/06/18
  2.  
  3.                                   太田 純
  4.                          junet: ohta@src.ricoh.co.jp
  5.                                 MSA-NET: msa02563
  6.  
  7. 1.  はじめに
  8.  
  9.  日本語版 1.2 ではファイルの扱いに不十分な点がありました。今回のバージョン
  10.  ではその修正を主眼とし、その他いくつかのバグ修正・改善を行っています。これ
  11.  までの改善により日本語版も一応のレベルに達したと思っています。今後もサポー
  12.  トは続けて行きますので、バグ報告や改善の提案などをよろしくお願いします。
  13.  
  14.  STEVIE はいくつかの OS 上で利用できますが、現在テストされているのは MS-DOS
  15.  版と UNIX 版です。これ以外のバージョンでも利用できるように改善しているつも
  16.  りですが、Minix 版および AtariST 版では動かなくなっているかも知れません。
  17.  
  18.  なお、今回のバージョンから、改変に協力していただいた方たちの了解を得た上で
  19.  著作権についての方針を改めました。今後は、我々による改変部分についてはパブ
  20.  リックドメインに置かれたものとして扱われることになります。これに従い、これ
  21.  までの README.jpn 中の次の部分を以下のように読み替えてください。
  22.  
  23.  変更前:『太田および上記各氏による改変部分についてはいかなる利用も自由です。
  24.        これらの著者に帰属する著作権は放棄します。ただし、著作者人格権に
  25.        ついては著作権法上の解釈が明らかでなく、放棄できないと解釈する余
  26.        地があるため放棄しませんが、いかなる場合でも著作者人格権を行使し
  27.        ないことを明記しておきます。』
  28.  
  29.  変更後:『太田および上記各氏は、各自の改変によるソースコード部分をパブリッ
  30.       クドメインに置くことをここに宣言します。我々はこの改変部分に関す
  31.       る著作権・著作者人格権を放棄し、改変部分に関するいかなる利用も自
  32.       由かつ無制限に行われることを認めます。』
  33.  
  34.  今回のリリースには次の各氏の貢献によるコードを含んでいます(氏名は発表順)。
  35.  各氏にはコードの利用を快く承認していただきましたことを感謝いたします。
  36.  
  37.  ・アンリツの川藤氏            kawafuji@acdpe0.anritsu.co.jp
  38.  ・Mitchell F. Wyle 氏            wyle@lavi.inf.ethz.ch.uucp
  39.  ・東京大学の Eric E. Bowles 氏    bowles@is.s.u-tokyo.ac.jp
  40.  ・東北大学の伊藤氏            aito@apl.rcais.tohoku.ac.jp
  41.  
  42.  太田および上記各氏は、各自の改変によるソースコード部分をパブリックドメイン
  43.  に置くことをここに宣言します。我々はこの改変部分に関する著作権・著作者人格
  44.  権を放棄し、改変部分に関するいかなる利用も自由かつ無制限に行われることを認
  45.  めます。
  46.  
  47.  
  48. 2.  コンパイルの方法
  49.  
  50.  今回のバージョンからコンパイルの方法を変更しました。基本的には Makefile を
  51.  修正するだけでコンパイルできます。env.h に手を入れるのは、標準と異なるオブ
  52.  ジェクトを作成したいときだけです。
  53.  
  54.  (1) UNIX 版
  55.  
  56.    UNIX BSD、System V では Makefile に unix.mk を使います。BSD、System V
  57.    のいずれかに合わせてマクロ定義を選択してください。配布時の設定では BSD
  58.    になっています。ディレクトリー操作ルーチンを選択するマクロは、BSD では
  59.    HAS_SYSDIR、System V では HAS_DIRENT が選択されていますが、システムが
  60.    <sys/dir.h> を持っているときは HAS_SYSDIR、<dirent.h> を持っているとき
  61.    は HAS_DIRENT を設定してください。文字コードについては、漢字を扱いたけ
  62.    れば SJIS、EUC、JIS の中からどれか1つを、漢字を扱わないのなら、8 ビッ
  63.    ト文字を扱いたければ BIT8、さもなければ NOKANJI を選択します。
  64.  
  65.    Makefile 中で JIS を選択した場合、文字コードを選択するエスケープシーケ
  66.    ンスは配布時には ESC-$-@、ESC-(-J になっていますので、その他の設定が必
  67.    要なら env.h で定義されている KFC、RFC を変更してください。
  68.  
  69.    System V 系のシステムで、opendir/readdir/closedir 関数が存在しない場合
  70.    にはファイル名展開機能は利用できません。この場合は env.h の UNIX_SYSV
  71.    に対して定義されている GLOB をコメントアウトしてください。これは主とし
  72.    て System V R2.0 以前のシステムに当てはまります。この場合、他の手段と
  73.    して Douglas Gwyn 氏が作成したパブリックドメイン、POSIX 仕様のディレク
  74.    トリー操作ルーチンを利用することもできます。このソースは anonymous FTP
  75.    によって utsun.s.u-tokyo.ac.jp から入手することができます。ファイル名
  76.    は /unix/directory3.Z となっています。このライブラリーを入手したならば、
  77.    付属のドキュメントを読んでインストールし、その後必要に応じて unix.mk
  78.    を変更してから make を実行してください。
  79.  
  80.    以上が終了したら、make を実行してください。stevie が作られます。
  81.  
  82.  (2) MS-DOS 汎用版
  83.  
  84.    MS-DOS 汎用版の Makefile は Turbo C 用の dos_tcc.mk と Microsoft C 5.1
  85.    用の dos_msc.mk が用意されています。いずれもコンパイラーに付属の make
  86.    で利用できます。文字コードについては、シフト JIS 漢字を扱うなら SJIS、
  87.    8 ビット文字を扱うなら BIT8、いずれでもなければ NOKANJI を選択します。
  88.    Microsoft C では、マクロ WILD にファイル名のワイルドカードを展開するオ
  89.    ブジェクト(コンパイラーに付属の setargv.obj)の絶対パスを指定してくだ
  90.    さい。
  91.  
  92.    以上が終了したら、make を実行してください。stevie.exe と ctags.exe が
  93.    作られます。
  94.  
  95.  (3) NEC PC-9801 専用版
  96.  
  97.    PC-9801 専用版の Makefile は、Turbo C 用の pc98_tcc.mk と Microsoft C
  98.    5.1 用の pc98_msc.mk が用意されています。いずれもコンパイラーに付属の
  99.    make で利用できます。この Makefile では VRAM 直接描画版、VRAM 版にマウ
  100.    スによるカットアンドペーストを追加したマウス版、グラフィック VRAM を利
  101.    用した 50 行版のオブジェクトを作ることができますので、Makefile から希
  102.    望のシステムに合ったマクロを選択してください。Microsoft C ではマクロの
  103.    選択以外にも、いくつかのターゲットのブロックを選択する必要があります。
  104.    Microsoft C ではまた、マクロ WILD にファイル名のワイルドカードを展開す
  105.    るオブジェクト(コンパイラーに付属の setargv.obj)の絶対パスを指定して
  106.    ください。なお、文字コードはシフト JIS 漢字に固定です。
  107.  
  108.    50 行版のオブジェクトを作るにはアセンブラーが必要です。pc98_tcc.mk を
  109.    使うときは、アセンブラーとして masm、tasm のいずれかを選択してください。
  110.    pc98_msc.mk では masm に固定です。
  111.  
  112.    以上が終了したら、make を実行してください。stevie.exe と ctags.exe が
  113.    作られます。
  114.  
  115.  (4) OS/2 版
  116.  
  117.    OS/2 では Makefile に os2.mk を使います。これは Microsoft C 5.1 用です。
  118.    文字コードについては、シフト JIS 漢字を扱うなら SJIS、8 ビット文字を扱
  119.    うなら BIT8、いずれでもなければ NOKANJI を選択します。マクロ WILD には
  120.    ファイル名のワイルドカードを展開するオブジェクト(コンパイラーに付属の
  121.    setargv.obj)の絶対パスを設定してください。
  122.  
  123.    以上が終了したら、make を実行してください。stevie.exe と ctags.exe が
  124.    作られます。
  125.  
  126.  (5) Minix 版、Atari TOS 版
  127.  
  128.    これらのシステムでは漢字版、8 ビット文字版は利用できません。コンパイル
  129.    できるかどうかのテストすら行われていないので、利用にあたってはソースの
  130.    修正が必要になる可能性があります。Minix 版では minix.mk から Atari ST
  131.    あるいは PC-9801 のいずれかのシステムを選択してください。
  132.  
  133.  
  134. 3.  日本語版 1.3 での変更について
  135.  
  136.  今回のリリースでは以下の変更が行われています。
  137.  
  138.  ・挿入モードでの ^T、^D の動作を(ふたたび)改善した。
  139.  ・UNIX 版で、SIGTERM でも SIGHUP と同じ動作をするように修正した。
  140.  ・UNIX BSD 版で、^Z で編集を中断したときも autowrite されるようにした。
  141.  (以上、アンリツの川藤氏による変更)
  142.  
  143.  ・:so コマンドを追加した。
  144.  ・:! コマンドでもファイル名展開が行われるようにした。
  145.  (以上、Mitchell F. Wyle 氏による変更)
  146.  
  147.  ・編集バッファーが空のとき := コマンドが 2 を報告するバグを修正した。
  148.  ・UNIX、MS-DOS 版で、: コマンドの引数中のワイルドカード(~*?[]$)がファイ
  149.   ル名に展開されるようにした。ファイル名展開ルーチンには Guido van Rossum
  150.   氏の glob、MS-DOS 用ディレクトリー操作ルーチンには Michael Rendell 氏の
  151.   opendir/readdir/closedir を用いている。ただし、opendir/readdir/closedir
  152.     を持たない UNIX(System V R2.0 以前?)ではこの機能は利用できない。この
  153.     場合にはパブリックドメインのディレクトリー操作ルーチンを利用する手段も
  154.     残されているので、「2. コンパイルの方法」を参照してほしい。
  155.  (以上、東京大学の Eric E. Bowles 氏による変更)
  156.  
  157.  ・:g/pat/s/pat1/pat2/ コマンドを追加した(pat1 は省略可能)。
  158.  ・:v/pat/cmd コマンドを追加した(cmd は p、d、s のいずれか)。
  159.  ・:s/p1/p2/、:g/pat/cmd、:v/pat/cmd コマンドのアンドゥーを可能にした。
  160.  ・コマンド行のアドレス指定(:m,n)に /pat/ と ?pat? が使えるようにした。
  161.  (以上、東北大学の伊藤氏による変更)
  162.  
  163.  ・ソースファイル名、Makefile を再編成した。
  164.  ・文字幅が 8 ビットで漢字を扱わない BIT8 モードを env.h の選択肢に追加した。
  165.  ・初期化ファイル中の ^V をエスケープ文字とみなすようにした。
  166.  ・挿入モードでの ^U、^W を実装した。
  167.  ・検索コマンド、: コマンド実行中のカーソル位置を vi と同じにした。
  168.  ・^Y コマンドで画面を複数行スクロールダウンする際に、元のカーソル位置が画
  169.   面外に出てしまう場合、正しくカーソル位置が更新されなかったバグを修正した。
  170.  ・繰り返しが指定された h、l、; コマンドが途中で失敗しても終了せずにビープ
  171.   音が鳴り続けるバグを修正した。
  172.  ・H、L コマンドにおいて繰り返し数が指定されたとき、移動位置が 1 ずれるバグ
  173.   を修正した。
  174.  ・文字・単語単位の y、d、c コマンドの動作を改善した。動作はまだ vi と完全
  175.   に同じではないが、ほぼ実用上問題なくなったと思われる。
  176.  ・p コマンドで文字単位の put を行った後のカーソル位置を vi と同じにした。
  177.  ・p コマンド実行中にメモリーが不足した場合に異常動作を起こすバグを修正した。
  178.  ・r コマンドで文字を改行に置き換えられるようにした。
  179.  ・J コマンドの動作を vi に近付けた。具体的には、. で終わる行の後に行を連結
  180.   する場合には空白を 2 つ挿入し、後の行が ) で始まっている場合には空白を挿
  181.   入しない。
  182.  ・グローバル置換コマンドにおいて、置換された文字列の直後の 1 文字が検索の
  183.   対象にならなかったバグを修正した。
  184.  ・置換コマンドにおいて、置換の行われた回数でなく置換の行われた行数が報告さ
  185.   れていたバグを修正した。
  186.  ・置換コマンドにおいて、置換後文字列中の ^M が改行に置き換えられるようにし
  187.   た。文字として ^M と置き換えたい場合には、vi 同様 ¥^M と指定する。
  188.  ・:m、:t、:mo、:co コマンドで、コマンドと移動先アドレスの間に空白があると
  189.   エラーとして扱われるバグを修正した。
  190.  ・:ta コマンドに対して引数が与えられなかった場合、タグスタックの内容を表示
  191.   するようにした。これにともない、機種によっては引数なしの :ta で異常終了
  192.   していたバグは消滅した。
  193.  ・:unmap が正しく行われなかったバグを修正した。
  194.  ・:unmap、:unab コマンドを :unm、:una と省略できるようにした。
  195.  ・:" コマンドを追加した。このコマンドは実際には何の動作も行わず、主として
  196.   初期化ファイル中に注釈を置くために使われる。
  197.  ・:n コマンドを vi と同じ動作をするように改善した。
  198.  ・:w で編集テキストの一部だけをファイルに書いたときでもすべての変更が保存
  199.   されたとみなされていたバグを修正した。
  200.  ・アンドゥーでは編集テキストを更新したことにならないというバグを修正した。
  201.  ・ファイルへの書き込みの失敗をチェックしていなかったバグを修正した。
  202.  ・ファイル入出力を全面的に改善した。これにより、ファイルの存在や読み書き可
  203.   能かどうか、またディレクトリーかどうかなどの状態が正しくチェックされるよ
  204.   うになった。
  205.  ・readonly モードを追加した。steview として起動された場合(UNIX、Minix 版
  206.   のみ)、-R オプション付きで起動された場合、あるいは readonly パラメータ
  207.   ーが設定されている場合には、読み込み専用モードで編集が行われる。
  208.  ・MS-DOS 版、OS/2 版でドライブ名がファイル名の一部として扱われるバグを修正
  209.   した。
  210.  ・初期化ファイルの評価順序を vi と同じになるように変更した。すなわち、環境
  211.   変数 EXINIT があれば評価し、なければホームディレクトリーの初期化ファイル
  212.   を評価し、最後にカレントディレクトリーの初期化ファイルを評価する。
  213.  ・OS/2 版でもファイル名展開が行われるようにした。MS-DOS、OS/2 共通のディレ
  214.   クトリー操作ルーチンとして Michael Rendell 氏の opendir/readdir/closedir
  215.   を Kai Uwe Rommel 氏が改良したものを採用した。
  216.  ・MS-DOS 版の FEP 制御において、ATOK7 および FIXER3/FIXER4 を直接制御でき
  217.   るようにした。つまり、ATOK7 は 7TO6.COM による ATOK6 互換インターフェー
  218.   スを用いずに、また FIXER3/FIXER4 は組み込み時にソフトウエア割り込みベク
  219.   ターを指定せずに制御できるようになった。ただし、この改善は Turbo C を使
  220.   ってコンパイルされたバイナリーに限られる。
  221.  ・PC-9801 50 行表示版で FEP の制御を可能にした。この版をコンパイルするには
  222.   env.h 中で PC98_50LINE を選択し、さらに FEPCTRL を定義すればよい。ただし
  223.   FEP 制御可能な版では実際の表示行数は 48 行となる。なお、この版では 4 節
  224.   の記述にかかわらず松茸86、DFJ、NEC AI かな漢字変換、また FPLD.SYS でバン
  225.   クメモリーに退避された FEP は制御できない。
  226.  
  227.  
  228. 4.  MS-DOS 版での FEP 制御について
  229.  
  230.  PC-9801 では、メルコ製 MELWARE 4.0 に含まれる FPLD.SYS を用いることにより
  231.  日本語入力 FEP をバンクメモリーに退避することができます。今回のバージョン
  232.  ではこの FPLD.SYS に対応し、FEP 制御部分を単体で利用できるようにしました。
  233.  これまで対応していたいくつかの FEPについても、より安定して制御できるように
  234.  改善が加えられています。
  235.  
  236.  今回の改善により制御できるようになった FEP には以下のものがあります。ただ
  237.  し、FPLD.SYS で退避された DFJ を制御するためには、添付の FEPDMY.SYS を同時
  238.  に組み込んでおく必要があります。
  239.  
  240.  ・松茸86
  241.  ・FPLD.SYS で退避された VJE-α/β/Σ、松茸86/松茸V2、DFJ
  242.  
  243.  
  244.  
  245.                  以 上
  246.  
  247.  
  248. ----------------------------------------------------------------------------
  249. STEVIE 3.69 - 日本語版 1.2 について                  1990/02/19
  250.  
  251.                                   太田 純
  252.                          junet: ohta@src.ricoh.co.jp
  253.                                 MSA-NET: msa02563
  254.  
  255. 1.  はじめに
  256.  
  257.  日本語版 1.1 を junet にリリースした直後から、何人かの方々にバグを指摘され、
  258.  あるいは改善のパッチをお送りいただきました。今回のリリースではこれらの修正
  259.  および改善を導入するとともに、PC-9801 シリーズ専用の高速な VRAM 直接描画版
  260.  を追加しています。
  261.  
  262.  今回のリリースには次の各氏の貢献によるコードを含んでいます(氏名は発表順)。
  263.  各氏にはコードの利用を快く承認していただきましたことを感謝いたします。
  264.  
  265.  ・富士通の沼田氏            numa@sysrap.ks.fujitsu.co.jp
  266.  ・アンリツの川藤氏            kawafuji@anritu.anritsu.co.jp
  267.  ・株式会社ABCの林氏        haya@abc-kk.co.jp
  268.  
  269.  太田および上記各氏による改変部分についてはいかなる利用も自由です。これらの
  270.  著者に帰属する著作権は放棄します。ただし、著作者人格権については著作権法上
  271.  の解釈が明らかでなく、放棄できないと解釈する余地があるため放棄しませんが、
  272.  いかなる場合でも著作者人格権を行使しないことを明記しておきます。
  273.  
  274.  利用条件の詳細については、このファイルの後半「日本語版 1.0 について」の「2.
  275.  利用条件」をご覧ください。また、利用に当たっては、同じく「5.1 termcap 対応
  276.  (OS/2、DOS 版)」、「5.2 起動時実行ファイル」も併せてご覧ください。
  277.  
  278.  
  279. 2.  コンパイルの方法
  280.  
  281.  (1) ターゲットシステムに合わせて env.h の設定を変更する
  282.  
  283.    システムを表す ATARI_MINIX、ATARI_TOS、UNIX_BSD、UNIX_SYSV、OS2、DOS、
  284.    PC98_VRAM、PC98_MOUSE、PC98_50LINE、PC98_MINIX からいずれか1つを選択
  285.    し、残りをコメントアウトします。それぞれの意味は次のとおりです。
  286.  
  287.     システム    意味
  288.     --------    ----
  289.     ATARI_MINIX    Atari ST + Minix
  290.     ATARI_TOS    Atari ST + TOS (Sozobon C)
  291.     UNIX_BSD    Unix 4.2BSD 以降
  292.     UNIX_SYSV    Unix System V
  293.     OS2        OS/2 (MSC5.1)
  294.     DOS        MS-DOS 汎用版 (MSC5.1/TC1.5/TC2.0)
  295.     PC98_VRAM    PC-9801 VRAM 版 (MSC5.1/TC1.5/TC2.0)
  296.     PC98_MOUSE    PC-9801 VRAM+MOUSE 版 (MSC5.1/TC1.5/TC2.0)
  297.     PC98_50LINE    PC-9801 50 行表示版 (MSC5.1/TC1.5/TC2.0)
  298.     PC98_MINIX    PC-9801 + Minix1.2
  299.  
  300.    日本語を扱うならば、使用する日本語コードにあわせて SJIS、EUC、JIS のい
  301.    ずれかを選択します。日本語を扱わないならば NOKANJI を選択します。 JIS
  302.    を選択した場合には、文字コードを選択するエスケープシーケンスの終端文字
  303.    (KFC、RFC)を設定してください。
  304.  
  305.    配布時の設定は UNIX_BSD、JIS、KFC='@'、RFC='J'(BSD UNIX で 日本語コー
  306.    ドは JIS、エスケープシーケンスは ESC-$-@、ESC-(-J)になっています。
  307.  
  308.  (2) 必要なら Makefile(xxx.mk)を変更する
  309.  
  310.    UNIX_BSD、UNIX_SYSV では unix.mk を使います。 BSD、System V のいずれか
  311.    に合わせてマクロ定義を選択してください。配布時は BSD になっています。
  312.  
  313.    OS/2 では os2.mk を使います。この Makefile は Microsoft C 5.1 用です。
  314.    マクロ WILD にファイル名のワイルドカードを展開するオブジェクト(コンパ
  315.    イラーに付属の setargv.obj)の絶対パスを設定してください。
  316.  
  317.    MS-DOS、PC-9801 の Makefile は Microsoft C 5.1 用と Turbo C 用の2種類
  318.    が用意されています。Microsoft C 5.1 用の Makefile を使う場合には、マク
  319.    ロ WILD にファイル名のワイルドカードを展開するオブジェクト(コンパイラ
  320.    ーに付属の setargv.obj)の絶対パスを設定してください。Turbo C について
  321.    は特に変更する必要はありません。以下にシステムと Makefile との対応を示
  322.    します。
  323.  
  324.     システム    Microsoft C    Turbo C
  325.     --------    -----------    -------
  326.     DOS        dos_msc.mk    dos_tcc.mk
  327.     PC98_VRAM    dos_msc.mk    dos_tcc.mk
  328.     PC98_MOUSE    p98m_msc.mk    p98m_tcc.mk
  329.     PC98_50LINE    pc98_msc.mk    pc98_tcc.mk
  330.  
  331.  (3) make を実行する
  332.  
  333.    上記の設定が終了したら make を実行してください。 stevie のバイナリーが
  334.    作られます。
  335.  
  336.  
  337. 3.  日本語版 1.2 での変更について
  338.  
  339.  今回のパッチでは以下の変更が行われています。
  340.  
  341.  ・UNIX System V 版で、terminfo に正しく対応していないために画面スクロール
  342.   が正常に行われなかったバグを修正した。
  343.  (以上、富士通の沼田氏による変更)
  344.  
  345.  ・挿入モードでの ^T、^D の動作を改善した。
  346.  ・:m,n<、:m,n> コマンドを追加した。
  347.  (以上、アンリツの川藤氏による変更)
  348.  
  349.  ・MS-DOS 版を変更し、PC-9801 シリーズでマウスを使ったカットアンドペースト
  350.   が行えるようにした。
  351.  (以上、株式会社ABCの林氏による変更)
  352.  
  353.  ・画面更新ルーチンをわずかに高速化した。
  354.  ・タブストップが 8 を超えると正しく画面表示が行われなかったバグを修正した。
  355.  ・[cd][fFtT] コマンドが ESC で取り消せなかったバグを修正した。
  356.  ・:g/^$/d で異常動作を起こすバグを修正した。
  357.  ・本来の vi コマンドを :map のキーとして指定すると、一見無関係な別のコマン
  358.   ドが正常に実行できなくなるというバグを修正した。これは、いくつかのコマン
  359.   ドが、内部的に他のコマンドの列として実行されているために起きていたもの。
  360.  ・MS-DOS 版で、AX 規格機上の VJE-β Ver.2.0 以降が制御できなかった不具合を
  361.   修正した。これまで VJE-β Ver.2.0 以降は INT 70H インターフェースによっ
  362.   て制御していたが、このインターフェースが PC-9801 上でしかサポートされて
  363.   いないことが判明したため、VJE-β Ver.2.0 以降の MS-KANJI API からの逸脱
  364.   に対処し、MS-KANJI API によって制御するようにしたというのが真相である。
  365.  ・MS-DOS 版で制御可能な FEP にリードレックスの MGR2、NEC の AI かな漢字変
  366.   換、デジタルファームの DFJ を追加した。MGR2 については当方で調査したイン
  367.   ターフェースで制御しているので動作を保証しない。 AI かな漢字変換、DFJ に
  368.   ついては、PC-9801 の BIOS ワークエリアを直接参照・変更して制御しているた
  369.   め、PC-9801 以外の機種では自動 ON/OFF 機能を利用できない。
  370.  ・VRAM 直接描画を行う高速な PC-9801 シリーズ専用版を追加した。ただし、画面
  371.   更新アルゴリズムには手を入れていないので、根本的な処理速度が改善されてい
  372.   るわけではない。また、画面更新のタイミングが変更されているので、見かけの
  373.   動作が MS-DOS 汎用版と異なる場合がある。PC-9801 シリーズ専用版の追加に伴
  374.   い、PC-9801 マウス対応もこの版をベースとするよう変更した。
  375.  
  376.  
  377. 4.  MS-DOS 版での FEP 制御について
  378.  
  379.  MS-DOS 版には日本語入力 FEP を自動的に ON/OFF する機能があります。詳細につ
  380.  いては「日本語版 1.1 について」の「3. MS-DOS 版での FEP 制御について」をご
  381.  覧ください。現在のところ、この機能が利用できる FEP は以下のものです。
  382.  
  383.  ・MS-KANJI アプリケーションインターフェースに準拠した FEP
  384.  ・VJE-α/VJE-β/VJE-Σ    (バックス/アスキー)
  385.  ・ATOK5/ATOK6/ATOK7        (ジャストシステム)
  386.  ・松茸 V2            (管理工学研究所)
  387.  ・FIXER3/FIXER4        (シティソフト)
  388.  ・Katana/ACE            (サムシンググッド)
  389.  ・EGBridge Ver.2/Ver.3    (エルゴソフト)
  390.  ・WXP                (エー・アイ・ソフト)
  391.  ・MGR2            (リード・レックス)
  392.  ・DFJ                (デジタルファーム)
  393.  ・E1                (イースト)
  394.  ・AI かな漢字変換        (日本電気)
  395.  
  396.  
  397. 5.  PC-9801 シリーズ専用マウス対応版について
  398.  
  399.  マウス対応版では、MOUSE.SYS が組み込まれているときマウスを使ったテキストの
  400.  カットアンドペーストが可能です(コード提供は株式会社ABCの林氏による)。
  401.  
  402.  5.1.  使用方法
  403.  
  404.   jstevie を起動すると緑色のマウスカーソルが表示されます。コピーしたいテキ
  405.   ストの先頭にマウスカーソルを移動してマウスの左ボタンを押し、そのままコピ
  406.   ーしたいテキストの末尾までマウスカーソルを移動してボタンを放すと、そのあ
  407.   いだのテキストがカットバッファーに取り込まれます(カット操作)。この操作
  408.   のあいだは、テキストの先頭と末尾の文字が黄色で反転表示されています。この
  409.   カットバッファーの内容は、マウスの右ボタンを押すことによってカーソル位置
  410.   に入力することができます(ペースト操作)。ただしコマンドモードでは右ボタ
  411.   ンを押してもペーストは行われません。また、このペースト操作のあいだは、パ
  412.   ラメーターの設定にかかわらず自動インデントが無効になります。
  413.  
  414.   テキスト VRAM のイメージをそのまま読み出すことによってテキストの取り込み
  415.   を行っているため、利用にはいくつかの制限があります。タブは表示の際にスペ
  416.   ースに展開されているので、タブが表示されている部分はスペースの列として取
  417.   り込まれます。また、行末の判定も不可能なので、カットされるテキストが複数
  418.   行にわたる場合には、最終行以外の各行は空白でない最後の文字で終了している
  419.   ものとみなし、改行文字を付加して取り込みます。ただし、画面の右端に達して
  420.   いる行は次の行に続くものとみなし、この行には改行文字を付加しません。
  421.  
  422.  5.2.  問題点
  423.  
  424.   ・画面行数が25行のモードにしか対応していません。
  425.   ・コンパイラーを実行した後などでは、jstevie を起動してもマウスが表示され
  426.    ないことがあります。原因は不明です。
  427.   ・日本語変換モードにいるとき、あるいは変換モードを終了してすぐなどにマウ
  428.    スを使用できないことがあります。これはキー入力待ちの状態になっているた
  429.    めで、何かキー入力すると、またマウスが使用できるようになります。
  430.  
  431.  5.3.  マウスカーソル形状設定プログラムについて
  432.  
  433.   マウスカーソルの形状を設定するプログラム(bitmap.c)とその入力となる形状
  434.   データ(mousecsr.dat)が付属しており、このデータを変更することによって希
  435.   望の形にマウスカーソルの形状を変更することができます。形状設定プログラム
  436.   は次のいずれかの方法で実行します。実行の結果作成されるファイル bitmap.h
  437.   は event.c でインクルードされます。
  438.  
  439.     A> bitmap < mousecsr.dat > bitmap.h
  440.     A> bitmap mousecsr.dat bitmap.h
  441.  
  442.   マウスカーソルの形状データは、1ドットを1文字に対応させた16文字×32
  443.   行のテキストで記述します。各ドットは対応する文字がスペースならばオフ、そ
  444.   れ以外ならばオンとなります。マウスカーソルの中心は「#」または「.」で示し、
  445.   「. 」のときはドットがオフであることを表します。
  446.  
  447.  
  448.  
  449.                  以 上
  450.  
  451.  
  452. ----------------------------------------------------------------------------
  453. STEVIE 3.69 - 日本語版 1.1 について                  1990/01/25
  454.  
  455.                                   太田 純
  456.                          junet: ohta@src.ricoh.co.jp
  457.                                 MSA-NET: msa02563
  458.  
  459. 1.  はじめに
  460.  
  461.  日本語版 1.0 を junet 上でリリースしてから多くの vi フリークスに賛同をいた
  462.  だくことができました。これらの方々のうちある方々には改善の要望と実現方法に
  463.  ついての提案をいただき、またある方々は実際に改善のためのパッチを発表ないし
  464.  送付してくださいました。これらの方々による改善を取り入れ、さらにいくつかの
  465.  バグ修正・改善を行ったものが今回リリースする日本語版 1.1 です。
  466.  
  467.  今回のリリースには次の各氏の貢献によるコードを含んでいます(氏名は発表順)。
  468.  各氏にはコードの利用を快く承認していただきましたことを感謝いたします。
  469.  
  470.  ・BUGの滝川氏            logic@omphalos.bug.co.jp
  471.  ・東京グラフィック・アーツの石井氏    ishii@togra.co.jp
  472.  ・アンリツの川藤氏            kawafuji@anritu.anritsu.co.jp
  473.  ・東京大学の Eric E. Bowles 氏    bowles@is.s.u-tokyo.ac.jp
  474.   ・東北大学の伊藤氏            aito@apl.rcais.tohoku.ac.jp
  475.   ・福井大学の鹿ノ内氏            hideo@s3hp.fuee.fukui-u.ac.jp
  476.  
  477.  太田および上記各氏による改変部分についてはいかなる利用も自由です。これらの
  478.  著者に帰属する著作権は放棄します。ただし、著作者人格権については著作権法上
  479.  の解釈が明らかでなく、放棄できないと解釈する余地があるため放棄しませんが、
  480.  いかなる場合でも著作者人格権を行使しないことを明記しておきます。
  481.  
  482.  
  483. 2.  日本語版 1.1 での変更について
  484.  
  485.  今回のリリースでは以下の変更が行われています。
  486.  
  487.  ・:r! コマンドを追加した。
  488.  ・端末の種類によっては最終コラムの文字が表示されないバグを修正した。
  489.  ・アスキーの Minix1.2 に対応するため、書式指定中の %ld の代わりに %D も選
  490.   択できるようにした。
  491.  ・UNIX BSD 版で、usleep(3) を使い showmatch で 0.7 秒待つように修正した。
  492.  ・UNIX 版で漢字コードが JIS のとき、カーソルキーでもカーソル移動が行えるよ
  493.    うにした。
  494.  ・UNIX 版で漢字コードが JIS のとき、漢字モードの途中でも制御文字が正しく入
  495.    力されるよう修正した。
  496.  (以上、BUGの滝川氏による変更)
  497.  
  498.  ・^^ が働かないバグを修正した(MS-DOS 版、OS/2 版)。
  499.  ・autowrite を追加した。
  500.  ・set all でパラメーターがアルファベット順に表示されるようにした。
  501.  ・:n コマンドでファイルを指定できるようにした。ただし、ファイルが1つしか
  502.   指定できない、ファイルリストが変更されないという制限がある。
  503.  ・複数行挿入・削除のエスケープシーケンスをサポートした。
  504.  ・MS-DOS 版では、:sh コマンドでシェルが二重に起動されないようにした。
  505.  ・PC-9801 のグラフィック画面を利用した 50 行表示バージョンを追加した。ただ
  506.     し、このバージョンでは日本語入力 FEP を利用できない。
  507.  (以上、東京グラフィック・アーツの石井氏による変更)
  508.  
  509.  ・shiftwidth を追加した。
  510.  (以上、アンリツの川藤氏による変更)
  511.  
  512.  ・:ta、:pop によるタグスタックをサポートした。
  513.  ・:mo、:co コマンドを追加した。
  514.  (以上、東京大学の Eric E. Bowles 氏による変更)
  515.  
  516.  ・UNIX BSD 版で、setitimer(2) を使い showmatch が 0.3 秒待つようにした。
  517.  ・UNIX 版でファイルを修正するとモードが保存されないバグを修正した。
  518.  (以上、東北大学の伊藤氏による変更)
  519.  
  520.   ・UNIX 版、Minix 版でファイルを修正するとオーナーとグループが保存されない
  521.     バグを一部修正した。(4.2BSD および Minix では通常のユーザーはファイル
  522.     のオーナー・グループを変更できないが、この点には対応していない。)
  523.   (以上、福井大学の鹿ノ内氏による変更)
  524.  
  525.  ・env.h を再編成し、ターゲットシステムを選択しやすくした。
  526.  ・stevie.h を再編成し、バッファーサイズなどの定数を1箇所にまとめた。
  527.  ・help.c を再編成した。
  528.  ・term.h、term.c を再編成し、存在しない端末機能文字列の値を NULL にした。
  529.  ・OS によってはコンパイル時に問題が起きるため、uint の typedef を取り除き、
  530.   #define CTRL(c) を Ctrl(c)、#define iskanji(c) を isKanji(c) に変更した。
  531.  ・メモリーを使い切ったときのふるまいをやや改善した。
  532.  ・起動時の引数として +?pat も許すようにした。
  533.  ・入力行長の上限を変更(255 → 511)し、編集中の行長の監視を厳しくした。
  534.  ・: コマンド行長の上限を変更(98 → 126)した。
  535.  ・: コマンドの入力中に ^V^M で入力が終了してしまうバグを修正した。
  536.  ・: コマンドの行範囲指定のチェックを厳しくした。
  537.  ・: コマンドの引数中の %、# が無条件にファイル名に展開されていたのを、ファ
  538.   イルを操作するコマンドのときだけ展開するように修正した。
  539.  ・:pop! を追加した。
  540.  ・:ta、:pop でも autowrite が行われるようにした。ただし、現在のバージョン
  541.   では同一ファイル内のタグジャンプでも autowrite が行われてしまうという問
  542.   題がある。
  543.  ・無名ファイルから :ta を行うと :pop で異常が起きるバグを修正した。
  544.  ・:ta コマンドでタグファイルをクローズしないバグを修正した。
  545.  ・:mo、:co コマンドを :m、:t としても呼べるようにした。ただし、これらのコ
  546.   マンドは内部的に yank/put で実現されているため、特に :mo コマンドでは正
  547.   しくアンドゥーできないという問題がある。
  548.  ・:map、:map!、:ab、:unmap、:unmap!、:unab コマンドを追加した。これらのコ
  549.   マンドについては詳細な仕様がわからなかったため、vi の仕様を満たしていな
  550.   いかも知れない。また、再帰的展開を十分チェックしていないので注意すること。
  551.  ・:g/pat/p コマンドの表示を vi に近付けた。
  552.  ・:set コマンドの表示を vi に近付けた。
  553.  ・:set lines で行数が変更されたときには同時に scroll も変更するようにした。
  554.  ・:set scroll で正しくない数値を指定したときに設定される値を 12 から(画面
  555.   行数 / 2)に変更した。
  556.  ・ダミーの redraw を追加した。
  557.  ・終了時のメッセージ行の扱いを vi に近付けた。
  558.  ・行削除コマンドで1行多く行消去のシーケンスを発行していたバグを修正した。
  559.  ・1文字だけの行に次の行を連結したとき空白が入らないバグを修正した。
  560.  ・行末の文字の直前に i、a で文字を挿入するとき、ESC で挿入を終了しても最後
  561.   に挿入した文字の上にカーソルが戻らないバグを修正した。
  562.  ・文字単位で yank された文字列を空行で put すると編集バッファーが壊れるバ
  563.   グを修正した。
  564.  ・挿入モードで ^V^J を入力すると ^J が挿入されてしまうバグを修正した。
  565.  ・挿入モードおよび1文字置換中の ^V が入力バッファーに記録されないために .
  566.   で正しく繰り返すことができなかったバグを修正した。
  567.  ・指定されたコラムにカーソルを進める計算のバグを修正し、
  568.  ・タブや制御文字があると期待される位置にカーソルが置かれないというバグを修
  569.   正した。
  570.  ・期待されるカーソル位置が $ によって行末に移動しなかったバグを修正した。
  571.  ・^F、^B でのカーソル移動先を vi と同じになるように修正した。
  572.  ・d0 でカーソル位置の文字が削除されてしまうバグを修正した。
  573.  ・w、b、e、W、B、E を最初に実行したときに単語が正しく認識されなかったバグ
  574.   を修正した。
  575.  ・w、b、e、W、B、E でテキストの先頭、末尾に移動できないバグを修正した。
  576.  ・n、N で検索コマンドを繰り返したとき、制御文字を含む文字列が正しく再表示
  577.   されなかったバグを修正した。
  578.  ・検索・置換コマンドにおける正規表現中の ^、$、¥、(、) の意味を vi と同じ
  579.   になるように修正した。具体的には、行の途中の ^、$ を通常文字として扱う、
  580.   置換文字列中の ¥ が正しくエスケープとして働く、(、) を通常文字、¥(、¥)
  581.   をメタキャラクターとして扱うように修正した。ただし、?、+、| はこれまで同
  582.   様メタキャラクターとして扱われる。
  583.  ・検索・置換コマンドで空文字列にマッチしたときに行末を突き抜けたり無限ルー
  584.   プに陥ったりするバグを修正した。ただし、置換コマンドで任意の空文字列とマ
  585.   ッチしたときの処理はおよそ適当と呼べるものではないので注意すること。
  586.  ・検索・置換コマンドで正規表現に日本語を使えるようにした。具体的には、. が
  587.   日本語の1字ともマッチする、[、] による文字クラス指定に日本語が使えるよ
  588.   う修正した。ただし、¥<、¥> によるワードマッチは日本語に対応していない。
  589.  ・TERMCAP 版では、端末が行挿入・削除のシーケンスの代わりにスクロール領域変
  590.   更・前後スクロールのシーケンスを持っている場合(VT100 相当)、そのシーケ
  591.   ンスを使って画面更新を行うように変更した。
  592.  ・UNIX、Minix 版では、return が設定されていると CR/LF を行末として入出力を
  593.   行うようにした。これに伴い、UNIX、Minix 版のデフォルトを noreturn とした。
  594.   これは、MS-DOS 版で :map を利用できるようにしたことの副作用である。
  595.  ・UNIX 版で漢字コードが JIS のとき、エスケープシーケンスの検査を厳しくした。
  596.   これは、ESC で挿入を終えた直後に $ で行末に移動しようとしたときなどに誤っ
  597.   て漢字モードに入ってしまうのを防ぐため。
  598.  ・UNIX 版で、漢字コードが EUC あるいは SJIS のときもカーソルキーが使えるよ
  599.    うにした。
  600.  ・UNIX BSD 版で、入力された ESC が入力モードの終了を示すものか、それとも漢
  601.    字モード変更ないしカーソルキーのエスケープシーケンスの開始を示すものかを
  602.    識別するための待ち時間を1秒から 0.3 秒に変更した。
  603.  ・UNIX 版で、ESC の直後にエスケープシーケンスが来たとき正しく解釈されなかっ
  604.    たバグを修正した。
  605.  ・UNIX 版で、カーソルキー送出シーケンスとして ESC [ A 〜 D だけでなく、ESC
  606.   O A 〜 D も認識するよう修正した。
  607.  ・MS-DOS 版では、INT 29H による高速画面出力が可能な場合だけ INT 29H を使い、
  608.    それ以外ではファンクションコール 06H を使うようにした。
  609.  ・MS-DOS、OS/2、TOS 版ではバイナリー形式でファイル入出力を行うよう変更した。
  610.   これは、Turbo C のテキスト形式でファイルを読むと CR/.../CR/LF という列が
  611.   単なる行末と解釈されてしまう、また MS-DOS、OS/2、TOS ではテキスト形式で
  612.   読むと ^Z が EOF と解釈されてしまうなどの理由により、そのままでは ^Z を
  613.   含んだり行末に ^M が置かれたりする :map 系のコマンドを起動時実行ファイル
  614.   に記述できなかったためである。
  615.  ・MS-DOS 版では、パラメーター fepcontrol を設定することにより、日本語入力
  616.   FEP の ON/OFF を自動的に行うようにした。 FEP が ON のまま ESC で入力を終
  617.   了すると FEP は自動的に OFF になり、次回の入力開始時に再び ON になる。
  618.  
  619.  
  620. 3.  MS-DOS 版での FEP 制御について
  621.  
  622.  MS-DOS 版では、日本語入力 FEP を自動的に ON/OFF する機能が追加されています。
  623.  自動 ON/OFF 機能を有効にするためには、起動時実行ファイル stevie.rc、あるい
  624.  は環境変数 EXINIT に set fepcontrol を記述してください。現在のところ、以下
  625.  の FEP でこの機能が利用できますが、テストは PC-9801 でしか行っていません。
  626.  
  627.  ・マイクロソフトかな漢字変換標準アプリケーションインターフェース(MSKKAPI)
  628.   に準拠した FEP
  629.  ・VJE-α/Σ/β
  630.  ・ATOK5/ATOK6/ATOK7
  631.  ・松茸 V2
  632.  ・FIXER3/FIXER4
  633.  ・Katana/ACE
  634.  ・EGBridge Ver.2/Ver.3
  635.  ・WXP
  636.  
  637.  MSKKAPI は元来 AX 機のかな漢字変換インターフェースを統一するために提唱され
  638.  た規格ですが、この規格をサポートする FEP は PC-9801 など他の機種にも存在し
  639.  ます。MSKKAPI に準拠した FEP は CON の他に MS$KANJI をデバイス名として持つ
  640.  ので、ある FEP が MSKKAPI に準拠しているかどうかは、その FEP を組み込んだ
  641.  状態で次のコマンドを実行することによって調べることができます。MSKKAPI に準
  642.  拠した FEP ならば、このコマンドで ok が表示されます。
  643.  
  644.     A> if exist ms$kanji echo ok
  645.  
  646.  その他の FEPについては、次のような制限があります。
  647.  
  648.  ・VJE-α の Ver.1.1 以前はサポートされていません。
  649.  ・VJE-β Ver.2.0 以降は MSKKAPI に準拠しているはずですが、このインターフェ
  650.   ースで正しく制御できないバージョン(たとえば Ver.2.00 L24)が存在するた
  651.   め、VJE の独自インターフェースによって制御しています。
  652.  ・ATOK5 は後期バージョンのみサポートしています。
  653.  ・ATOK7 を利用する場合は、一太郎 Ver.4 などに付属の 7TO6.COM を同時に常駐
  654.   させて ATOK6 互換インターフェースにしておく必要があります。
  655.  ・FIXER3/FIXER4 はソフトウエア割り込み経由で制御しているので、デバイスドラ
  656.   イバーを組み込む際に、制御に使用する割り込みベクターを /I パラメーターで
  657.   指定しておく必要があります。指定するベクターは空きベクターであればどれで
  658.   もよいのですが、INT 70H あたりが適当でしょう。具体的には、CONFIG.SYS(あ
  659.   るいは ADDDRV の引数となるファイル)の中で次のように指定します。
  660.  
  661.     DEVICE=A:¥SYS¥FIXER3.SYS /I70 /B10 C5DA2E2F6H0J0M1R1S1T2X0V2
  662.                  ~~~~
  663.   なお、FIXER3/FIXER4 のインターフェースについては、日本マイコン販売に資料
  664.   をご提供いただきました。
  665.  ・Katana/ACE は、特定の割り込みベクター(INT 48H、49H、4AH)が使われている
  666.   かどうかで組み込みを判断しているので、状況によっては判断を誤ることがあり
  667.   ます。なお、Katana/ACE のインターフェースについてはサムシンググッド社に
  668.   資料をご提供いただきました。
  669.  ・EGBridge Ver.2 では、FEP を ON にした直後の1文字が FEP を素通りして入力
  670.   されてしまうという問題があります。
  671.  ・EGBridge Ver.3 は、環境設定で標準アプリケーションインターフェースを「使
  672.   う」に設定した場合は MSKKAPI によって制御し、「使わない」に設定した場合
  673.   には独自インターフェースによって制御しています。
  674.  ・WXP Ver.1.03a については、当方で調査したインターフェースを用いて制御して
  675.   いるため、動作に問題が生ずる可能性があります。
  676.  
  677.  上記以外の FEP もサポートしたいのですが、現在のところインターフェース仕様
  678.  が不明のためサポートできません。サポートのために必要な情報は次のものです。
  679.  
  680.  ・FEP が組み込まれているかどうかを判別する方法
  681.  ・FEP の ON/OFF 状態を調べる方法
  682.  ・FEP の ON/OFF を設定する方法
  683.  ・必要なら、FEP の利用を開始・終了する方法
  684.  
  685.  サポートされていない FEP についてこれらの情報をお持ちの方は、このファイル
  686.  の先頭にあるメールアドレスまでご連絡いただければ幸いです。
  687.  
  688.  
  689.                  以 上
  690.  
  691.  
  692. ----------------------------------------------------------------------------
  693. STEVIE 3.69 - 日本語版 1.0 について                  1989/10/02
  694.  
  695.                                   太田 純
  696.                             ohta@src.ricoh.co.jp
  697.  
  698. 1.  はじめに
  699.  
  700.  これは Tony Andrews によって作成され comp.sources.misc で配布された STEVIE
  701.   3.69 を日本語化したものです。STEVIE 3.69 は UNIX 上の標準的な画面エディタ
  702.  ーである vi のインターフェースを摸したエディターであり、大部分の vi コマン
  703.  ドが利用できます。
  704.  
  705.  このドキュメントでは、STEVIE 3.69 の利用条件・コンパイルの方法・日本語化の
  706.  詳細やその他の変更内容について記述しています。 STEVIE の利用方法については
  707.  jstevie.doc をご覧ください。 また、付属の ctags については jctags.doc をご
  708.  覧ください。
  709.  
  710.  
  711. 2.  利用条件
  712.  
  713.  STEVIE 3.69 日本語版 1.0  は全体としてフリーソフトウエアであり、利用・再配
  714.  布は自由です。ただし、このソフトウエアは「現状のままで」提供されるものであ
  715.  り、著者たちは、何らかの目的に対してこのソフトウエアが有用であることを保証
  716.  するものではなく、またこのソフトウエアを利用したことによって発生した不利益
  717.  や障害についても一切の責を負いません。
  718.  
  719.  STEVIE 3.69 本体については「著作権法で保護されておらず、いかなる制限も与え
  720.  られていない」ことを著者が明言しており、パブリックドメインに置かれています。
  721.  つまり、販売することも含めて利用はまったくの自由です。
  722.  
  723.  正規表現ライブラリーについては米国トロント大学が著作権を保有しています。利
  724.  用・再配布は自由ですが、改変した場合にはそのことを明記すること、また原著作
  725.  者名を明記することという条件を守る必要があります。詳細については regexp.c
  726.  の先頭にある著作権表示をご覧ください。
  727.  
  728.  Turbo C 用のワイルドカード展開ライブラリーについては Michael M. Rubenstein 
  729.  が著作権を保有しています。利用・再配布は自由ですが、販売してはならないとい
  730.  う条件があります。詳細については、setargv.c の先頭にある著作権表示をご覧く
  731.  ださい。
  732.  
  733.  太田による改変部分については、いかなる利用も自由です。太田に帰属する著作権
  734.  は放棄します。ただし、著作者人格権については著作権法上の解釈が明らかでなく、
  735.  放棄できないと解釈する余地があるため放棄しませんが、いかなる場合でも著作者
  736.  人格権を行使しないことを明記しておきます。
  737.  
  738.  
  739. 3.  コンパイルの方法
  740.  
  741.  (1) ターゲットシステムに合わせて env.h の設定を変更する
  742.  
  743.    システムを表す ATARI、UNIX、OS2、DOS  からいずれか1つを選択し、残りを
  744.    コメントアウトします。 ATARI を選択した場合、Minix ならば MINIX を定義
  745.    します。UNIX を選択した場合、BSD 版ならば BSD を定義します。
  746.  
  747.    日本語を扱うならば、使用する日本語コードにあわせて SJIS、EUC、JIS のい
  748.    ずれかを選択します。日本語を扱わないならば ASCII を選択します。 JIS を
  749.    選択した場合には、文字コードを選択するエスケープシーケンスの終端文字(
  750.    KFC、RFC)を設定してください。
  751.  
  752.    DOS を選択した場合、バッククオートの利用できない一部機種のために、バッ
  753.    クスラッシュ(円記号)をバッククオートと同等に扱う機能が用意されていま
  754.    す。この機能を有効にするには、NOBACKQ を設定してください。
  755.  
  756.    配布時の設定は UNIX、BSD、JIS、KFC='@'、RFC='J'(BSD UNIX で 日本語コ
  757.    ードは JIS、エスケープシーケンスは ESC-$-@、ESC-(-J)になっています。
  758.  
  759.  (2) 必要なら Makefile(xxx.mk)を変更する
  760.  
  761.    UNIX の場合、BSD と System V のいずれかに合わせてマクロ定義を選択して
  762.    ください。配布時は BSD になっています。
  763.  
  764.    OS/2 の Makefile は Microsoft C 5.1 用です。MS-DOS の場合は Microsoft
  765.    C 5.1 用と Turbo C 用の2つの Makefile が用意されています。これらにつ
  766.    いては特に変更する必要はありません。
  767.  
  768.  (3) make を実行する
  769.  
  770.    上記の設定が終了したら make を実行してください。 STEVIE と ctags のバ
  771.    イナリーが作られます。
  772.  
  773.  
  774. 4.  日本語化について
  775.  
  776.  4.1  制限
  777.  
  778.   日本語化については下記の制限があります。
  779.  
  780.   ・STEVIE 3.69 は UNIX、MINIX、TOS、OS/2、MS-DOS の上で利用できますが、日
  781.    本語化は UNIX、OS/2、MS-DOS 版に対してのみ行われています。
  782.  
  783.   ・利用できるコードは UNIX 版では SJIS、EUC、JIS のいずれか、MS-DOS、OS/2
  784.    版では SJIS です。ただし EUC、JIS では半角カナが利用できないという制限
  785.    があります。
  786.  
  787.   ・利用できるコードは固定であり、JIS の場合にはエスケープシーケンスの終端
  788.    文字(ESC-$-@ の @、ESC-(-J の J など)も固定です。
  789.  
  790.  4.2  編集操作
  791.  
  792.   日本語に対応したことにより、一部のコマンドの動作が変更されています。
  793.  
  794.   ・テキスト中の「間隔(2バイトの空白)」は空白文字として扱われます。つま
  795.    り、「行の最初の非空白文字に移動するコマンド(^ + - I など)」「行を連
  796.    結するコマンド(J )」「自動インデント」などにおいてスペースやタブと同
  797.    様に扱われるということです。ただし、行を連結するコマンドにおいて後の行
  798.    の最初の非空白文字が漢字のときには、連結された行の間にスペースを置かな
  799.    いようになっています。
  800.  
  801.   ・1文字を対象とするコマンド(r f F t T )で、対象に漢字を指定することが
  802.    できます。
  803.  
  804.   ・文字を上書きするコマンド(r R )では、行の長さを変更しないように動作が
  805.    行われます。漢字の第1バイトだけが上書きされるときは、第2バイトはスペ
  806.    ースで置き換えられます。
  807.  
  808.   ・単語の意味が変更されています。文字は、半角カタカナ、半角英数字および下
  809.    線、その他の半角文字、全角漢字、全角ひらがな、全角カタカナおよび長音、
  810.    全角英数字、その他の全角文字の8つのグループに分類されています。単語は
  811.    いずれか1つのグループに属する文字の並びであり、単語の区切りを意識した
  812.    移動コマンド(w b e W B E )では、この単語の区切りに従って移動を行いま
  813.    す。
  814.  
  815.   ・文字列探索にも日本語文字列を使うことができます。ある漢字の第2バイトと
  816.    続く漢字の第1バイトに1つの漢字がマッチしたり、 SJIS 漢字の第2バイト
  817.    がメタ文字として扱われたりすることはありません。ただし、現在のところ正
  818.    規表現による探索は日本語に対応していません。
  819.  
  820.  
  821. 5.  その他の変更について
  822.  
  823.  5.1  termcap 対応(OS/2、DOS 版)
  824.  
  825.   termcap データベースを用いて画面制御を行うようにコードを修正し、termcap
  826.   ライブラリーおよびデータベースを配布内容に含めました。環境変数 TERM に端
  827.   末名が設定されていると、環境変数 TERMCAP  で示されるファイルか、設定され
  828.   ていなければカレントドライブの ¥etc¥termcap から画面制御パラメーターを取
  829.   り出します。環境変数 TERM が設定されていないか、termcap データベースが見
  830.   つからない場合には ANSI 端末とみなして ANSI シーケンスを利用します。
  831.  
  832.   エディターが参照するパラメーターは以下のとおりです。カッコ内は ANSI 端末
  833.   とみなした場合に設定される値です。
  834.  
  835.   ・必須のパラメーター(なければ動作が不可能なもの)
  836.  
  837.     li    画面の行数(OS/2 版では 25、DOS 版では 24)
  838.     co    画面のコラム数(80)
  839.     cm    絶対位置へカーソルを移動する(¥E[%i%d;%dH)
  840.     ce    カーソルから行末までを消去する(¥E[K)
  841.     cl    画面を消去する(¥E[2J)
  842.  
  843.   ・任意のパラメーター(なくてもそれなりの動作をするもの)
  844.  
  845.     al    カーソル位置に行を挿入する(¥E[L)
  846.     dl    カーソル位置の行を削除する(¥E[M)
  847.     sc    カーソル位置を記憶する(¥E[s)
  848.     rc    記憶しているカーソル位置に移動する(¥E[u)
  849.     so    文字色を反転する(¥E[7m)
  850.     se    文字色を元に戻す(¥E[m)
  851.     vi    カーソルを表示しない(なし)
  852.     ve    カーソルを表示する(なし)
  853.     ti    画面の利用を開始する(なし)
  854.     te    画面の利用を終了する(なし)
  855.  
  856.  5.2  起動時実行ファイル
  857.  
  858.   環境変数 EXINIT の他に、起動時実行ファイル(UNIX、Minix 版では .stevierc、
  859.   TOS、OS/2、DOS 版では stevie.rc )からコマンドを読み込んで実行するように
  860.   変更しました。これにより、次の順に初期化が行われます。
  861.  
  862.   (1) 環境変数 HOME が示すディレクトリーの起動時実行ファイルからコマンドを
  863.     読み込み、実行する
  864.  
  865.   (2) カレントディレクトリーの起動時実行ファイルからコマンドを読み込み、実
  866.     行する
  867.  
  868.   (3) 環境変数 EXINIT からコマンドを読み込み、実行する
  869.  
  870.   (4) 環境変数 LINES が設定されていれば、それに従って画面の行数を設定する
  871.  
  872.  5.3  高速化
  873.  
  874.   画面のイメージを単なる配列ではなく各行へのポインターの配列として持つよう
  875.   に変更したことにより、画面更新が1.2〜2倍速くなっています。もっとも、
  876.   画面更新のアルゴリズムには手を入れていないので、まだまだ遅いと言わざるを
  877.   得ません。また ignorecase のチェックを正規表現探索関数の外で行うように変
  878.   更したことにより、文字列探索が1.5〜5倍程度早くなっています。
  879.  
  880.  5.4  オリジナルの vi への歩み寄り
  881.  
  882.   オリジナルの vi に近付けるため、動作仕様が次のように変更されています。
  883.  
  884.   ・:d、:y コマンドを追加した
  885.    (ただし、実現方法が安直なため . で操作を繰り返すことができてしまう)
  886.  
  887.   ・カーソル以降にテキストがある場合にも自動インデントされるようにした
  888.    (ただし、カーソル以降に空白があれば消されるのが本当だが現在はそうなっ
  889.    ていない)
  890.  
  891.   ・入力モード表示の表示位置を変更した
  892.  
  893.   ・r コマンドでも入力モード表示(Replace 1 char)を行うようにした
  894.  
  895.   ・コマント行入力時のタブ、制御文字の表示を変更した
  896.  
  897.   ・^V の直後でなければ制御文字が入力できないようにした
  898.  
  899.   ・:s、:g コマンドのデリミターとして、/ 以外の文字も受け付けるようにした
  900.  
  901.   ・エラーメッセージが反転表示されるようにしたことを含め、各種メッセージを
  902.    vi に合わせて変更した
  903.  
  904.  5.5  バグ修正
  905.  
  906.   オリジナルに存在した以下のバグが修正されています。
  907.  
  908.   ・画面の行数以上の行を削除したときにハングアップする
  909.  
  910.   ・編集バッファーが空の状態でファイルを読み込むと、カレントコンテクストが
  911.    存在しなくなり、カレントコンテクストへの移動コマンドでハングアップする
  912.  
  913.   ・入力モード時に、バックスペースによる文字削除で行数が減ったときに正しく
  914.    表示が行なわれない
  915.  
  916.   ・一度も文字列探索を行っていない状態で直前の探索を繰り返すコマンドを実行
  917.    すると正しく動作が行なわれない
  918.  
  919.   ・set modelines が set showmode と解釈されてしまう
  920.  
  921.   ・入力モード表示が画面のスクロールによって消えてしまう
  922.  
  923.   ・メッセージ行の表示が80文字を超えたとき、表示が消えてしまう
  924.  
  925.   ・UNIX 版では termcap に指定されたパディングが無視される
  926.  
  927.   ・BSD UNIX 版ではジョブコントロールが考慮されていないため、^Z で端末のモ
  928.    ードが元に戻らず、また ^Y コマンドが利用できない。
  929.  
  930.  5.6  その他
  931.  
  932.   ・set コマンドで数値パラメーターを設定する際に = の代わりに : も使えるよ
  933.    うにした(MS-DOS や OS/2 では、環境変数に = を含めることができず、この
  934.    ように変更しないと EXINIT に数値パラメーターを設定できないため)
  935.  
  936.   ・UNIX 版では、SIGHUP が送られたときに現在の編集バッファーの内容をホーム
  937.    あるいはカレントディレクトリーのセーブファイル viXXXXXX.HUP に書き出す
  938.    ように変更した
  939.  
  940.  
  941. 6.  参照される環境変数
  942.  
  943.  ・EXINIT    起動時に実行するコマンド
  944.  ・HOME    起動時実行ファイル、セーブファイルが置かれるディレクトリー
  945.  ・LINES    端末画面の行数
  946.  ・TERM    端末の型名
  947.  ・TERMCAP    termcap データベースのパス名
  948.  ・TMP        フィルターコマンド用一時ファイルを作成するディレクトリー
  949.  
  950.  
  951. 7.  参照されるファイル
  952.  
  953.  ・/etc/termcap        無指定時の termcap データベース
  954.  ・.stevierc、stevie.rc    起動時実行ファイル
  955.  ・viXXXXXX、voXXXXXX        フィルターコマンド用一時ファイル
  956.  ・viXXXXXX.HUP        セーブファイル(UNIX 版のみ)
  957.  
  958.  
  959. 8.  著者
  960.  
  961.  Tony Andrews            STEVIE 3.69 原コードおよびドキュメント
  962.  Henry Spencer            正規表現ライブラリー
  963.  Michael M. Rubenstein        Turbo C ワイルドカード展開ライブラリー
  964.  Norman Azadian        MS-DOS、OS/2 用 termcap ライブラリー原コード
  965.  太田 純            日本語化、改良、日本語ドキュメント
  966.